Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding qualifiers to MetaEdge fixes #342 #387

Merged
merged 19 commits into from
Mar 3, 2023

Conversation

sierra-moxon
Copy link
Member

@sierra-moxon sierra-moxon commented Jan 9, 2023

  • I added "qualifiers" as a collection of MetaQualifier objects on the MetaEdge object. The big question here is whether or not this representation gives enough information to both ARAs and QC to validate and query the KP correctly.
  • I added an association property to MetaEdge to store the biolink:Association class that each MetaEdge should comply with. I propose making this property required, as validation will be much easier with a declared association. However, we could instead make this property optional and only validate that edge is a valid biolink:Association (for example, that it has subject, predicate, object, qualifiers of the appropriate biolink types) when it is provided. Is there a preference for either of these options?

other:

  • added an example MetaEdge object.

@RichardBruskiewich
Copy link
Contributor

@edeutsch (cc: @vdancik @cbizon), I am highly supportive of this (@sierra-moxon's) PR.

TRAPI implementations all actually need to curate their /meta_knowledge_graph API endpoint data anyhow, and this is a relatively straight forward "one time" MetaEdge annotation task which significantly helps validation of qualifiers, etc. in Biolink 3.1++ (by the reasoner-validator and consequentially, SRI Testing).

Quick implementation of this PR, even as a patch release to the latest TRAPI, would accelerate testing progress.

@cbizon
Copy link
Contributor

cbizon commented Jan 11, 2023

@edeutsch I might be confused, but didn't you show me the other day that this is already part of the spec somewhere?

@edeutsch
Copy link
Collaborator

@cbizon, my recollection is that we were talking about knowledge_type. TRAPI 1.3 can already indicate in the MetaEdge whether knowledge_type inferred is supported:

knowledge_types:

@edeutsch
Copy link
Collaborator

@sierra-moxon would you base this PR on branch 1.4 where all the new work is going on (not master)?

@edeutsch
Copy link
Collaborator

also a note to @mbrush who was planning on making a PR: please base all PRs for TRAPI 1.4 additions to the "1.4" branch, not master, thanks!

@sierra-moxon sierra-moxon changed the base branch from master to 1.4 January 11, 2023 22:07
@cbizon
Copy link
Contributor

cbizon commented Jan 11, 2023

You are correct - got my wires crossed!

Copy link
Collaborator

@edeutsch edeutsch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aside from the change in line length, seems great, thanks!

.yamllint.yml Outdated
@@ -5,7 +5,7 @@ rules:
empty-values:
forbid-in-block-mappings: true
line-length:
max: 79
max: 100
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will cause an overrun on my VT100!

Copy link
Member Author

@sierra-moxon sierra-moxon Jan 25, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok I can change it back :). Some of our descriptions are long enough that I was getting linting errors for line length (and linting errors about trailing spaces when I tried to break the description up into multiple lines) which felt a bit too constrictive. But I don't feel strongly. :)

It would be really nice to be able to run tests in this repo too, we have an open issue about that with reasoner-validator team. NCATSTranslator/reasoner-validator#56

@sierra-moxon sierra-moxon marked this pull request as ready for review January 26, 2023 00:04
@vdancik vdancik added this to the v1.4 milestone Feb 1, 2023
Copy link
Collaborator

@edeutsch edeutsch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sierra-moxon would you consider these questions?

items:
type: string
example: [expression, activity, abundance, degradation]
nullable: true
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This nullable:true seems to be nested under items? Implying that null items can be in the list? Perhaps this should be de-indented so that applicable_values is the nullable:true thing?

@edeutsch edeutsch merged commit 31895eb into NCATSTranslator:1.4 Mar 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants